package com.xjh.basestudy.designmode.createMode.createMode4_AbstractFactory;

/**
 * @author XuJianHua
 * @date 2022-09-23 14:09:56
 * @description 外星母巢工厂
 */
public class Client {

    public static void main(String[] args) {
        System.out.println("游戏开始……");
        System.out.println("双方挖矿攒钱……");

        //第一位玩家选择了人类族
        System.out.println("工人建造人类族工厂……");
        AbstractFactory factory = new HumanFactory(10, 10);

        Unit marine = factory.createLowClass();
        marine.show();

        Unit tank = factory.createMidClass();
        tank.show();

        Unit ship = factory.createHighClass();
        ship.show();

        //第二位玩家选择了外星怪兽族
        System.out.println("工蜂建造外星怪兽族工厂……");
        // 人类工厂和怪兽工厂都是工厂类型，所以可以直接使用一个引用
        factory = new AlienFactory(200, 200);

        Unit roach = factory.createLowClass();
        roach.show();

        Unit poison = factory.createMidClass();
        poison.show();

        Unit mammoth = factory.createHighClass();
        mammoth.show();

        System.out.println("两族开始大混战……");
        marine.attack();
        roach.attack();
        poison.attack();
        tank.attack();
        mammoth.attack();
        ship.attack();

         /*
            游戏开始……
            双方挖矿攒钱……
            工人建造人类族工厂……
            制造海军陆战队员成功。
            士兵出现在坐标：[10,10]
            制造变形坦克成功。
            坦克出现在坐标：[10,10]
            制造巨型战舰成功。
            战舰出现在坐标：[10,10]
            工蜂建造外星怪兽族工厂……
            制造蟑螂兵成功。
            蟑螂兵出现在坐标：[200,200]
            制造毒液兵成功。
            毒液兵出现在坐标：[200,200]
            制造猛犸巨兽成功。
            猛犸巨兽出现在坐标：[200,200]
            两族开始大混战……
            士兵用机关枪射击，攻击力：6
            蟑螂兵用爪子挠，攻击力：5
            毒液兵用毒液喷射，攻击力：10
            坦克用炮轰击，攻击力：25
            猛犸巨兽用獠牙顶，攻击力：20
            战舰用激光炮打击，攻击力：25
         */
    }

}